Consumer transactions with merchants are increasingly being made with payment methods other than cash or checks. More recently, the device being used to conduct such consumer transactions is a mobile electronics device having wireless communications, such as a cellular telephone or a Personal Digital Assistant (PDA).
A variety of payment methods have been developed in different countries to adapt to the rapidly changing market of online payments. Examples include Alipay® (China), MarcadoPago® (South America), Paypal® (U.S.), just to name a few, each which has a different data schema for required user information.
One common problem with the wide variety of payment methods for online content, especially in international markets, is how to handle the diverse business logic associated with each payment method. This logic can be complicated and can include making a payment method unavailable for certain purchases, adjusting the price of a purchase, forcing a payment method to be a user's default due to contractual obligations, etc. One example of why a payment method may be unavailable includes one or more of the following: the amount is over a specific threshold; there is an unsupported price point; the purchase is not valid for specific companies, or the purchase is not supported by the payment processor in the user's locale. Price adjustments can also occur for a variety of reasons including surcharges or discounts for using a particular payment method.
Implementing this business logic on the client is difficult. First, the logic or obligations can change, and changes can require expensive and time consuming client-releases. Second, new online content releases often occur, and can imply new rules. Third, small errors or problems can have critical ramifications, but require an expensive and time consuming client release to fix.
With rapid changes occurring in the online marketplace, new code releases are becoming more frequent, increasing the need for a more flexible solution.